aboutsummaryrefslogtreecommitdiff
path: root/src/app/(main)/links/[linkId]/LinkHeader.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/app/(main)/links/[linkId]/LinkHeader.tsx')
-rw-r--r--src/app/(main)/links/[linkId]/LinkHeader.tsx19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/app/(main)/links/[linkId]/LinkHeader.tsx b/src/app/(main)/links/[linkId]/LinkHeader.tsx
new file mode 100644
index 0000000..a84a626
--- /dev/null
+++ b/src/app/(main)/links/[linkId]/LinkHeader.tsx
@@ -0,0 +1,19 @@
+import { IconLabel } from '@umami/react-zen';
+import { LinkButton } from '@/components/common/LinkButton';
+import { PageHeader } from '@/components/common/PageHeader';
+import { useLink, useMessages, useSlug } from '@/components/hooks';
+import { ExternalLink, Link } from '@/components/icons';
+
+export function LinkHeader() {
+ const { formatMessage, labels } = useMessages();
+ const { getSlugUrl } = useSlug('link');
+ const link = useLink();
+
+ return (
+ <PageHeader title={link.name} description={link.url} icon={<Link />}>
+ <LinkButton href={getSlugUrl(link.slug)} target="_blank" prefetch={false} asAnchor>
+ <IconLabel icon={<ExternalLink />} label={formatMessage(labels.view)} />
+ </LinkButton>
+ </PageHeader>
+ );
+}